#ifndef AT32F415_GPIO_DRIVER_H
#define AT32F415_GPIO_DRIVER_H
#include "at32f435_437_gpio.h"

typedef struct AT32F415GPIO{
    gpio_type * port;
    crm_periph_clock_type crm_clk_type;
    gpio_init_type gpio_init_struct;
    void (*set)(struct AT32F415GPIO *thiss);
    void (*clr)(struct AT32F415GPIO *thiss);
    uint8_t (*get)(struct AT32F415GPIO *thiss);
    void (*setdir)(struct AT32F415GPIO *thiss,gpio_mode_type dir,gpio_pull_type pulldir);
}AT32F415GPIO;
 
void gpio_init_pin(AT32F415GPIO *gpiopin);
uint8_t gpio_getpin(struct AT32F415GPIO *thiss);
#endif